package com.huilian.iotbox.data.dto;

import com.huilian.iotbox.data.po.Order;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author 谢洛涛
 * @date 2021/1/9 18:03
 */
@Data
public class OrderDto extends Order {
    private Integer packageType;

    private String deviceNo;
    /**
     * 优惠金额，主要用于生成随机金额，防止风控
     */
    private BigDecimal discountMoney;
    private Long discountId;
    private String endDateStr;
    private String startDateStr;

    private Date gmtPaymentStart;

    private Date gmtPaymentEnd;

    /**
     * 关键字类型：1 交易单号, 2 设备编号
     **/
    private Integer keywordValue;

    private String startTime;
    private String endTime;

    private String isvOrgId;
    private String qrCodeUrl;

    // 活动id
    private Integer activityId;
    /**
     * 加密串
     */
    private String sign;
    /**
     * 时间戳
     */
    private Long timestamp;

    private Long memberStoreBalanceId;

    private String grouponOrderNo; //拼团订单号

    /**
     * 储值套餐id
     */
    private Long activityRechargePackageId;

    /**
     * 支付环境，1.H5，2.微信小程序，3.支付宝小程序
     */
    private Integer paymentEnvironment;
    /**
     * 设备ID
     */
    private Integer deviceId;

    /**
     * 设备类型ID数组
     */
    private Integer[] deviceTypeIdArray;

    /**
     * 支付方式数组
     */
    private String[] channelTypeArray;
    /**
     * 订单状态数组
     */
    private Integer[] orderStatusArray;

    private Integer price;

    /**
     * 场地ID数组
     */
    Integer[] merchantStoreIdArray;

    /**
     * 当前订单是否使用了赠币券
     */
    private Integer privateDomainOperationScoreId;

    private String authCode;
    private List<CommodityStoreUpDownDto> chooseCommodityList;
    private String commodityStoreUpDownIdList;
    private Long memberId;

    /**
     * 支付方式
     * 1.现金
     * 2.付款码
     * 3.余额
     */
    private Integer payType;

    private String payNo;

    private Integer pageNum = 1;
    private Integer pageSize = 10;

    private Date endDate;
    private Date startDate;
    private String memberQrKey;
    private Integer orderType;
    private List<CommodityDto> commodityDtoList;

    private Long commodityStoreUpDownId;

    private Integer paymentMethod;

    private String douYinCertificateId;

    /**
     * 收款商户类型数组
     */
    private Integer[] mchTypeArray;

    private List<DeviceDto> deviceDtoList;

    /**
     * 购物车（暂时售货机用），0/null：不开，1：开启
     */
    private Boolean shoppingCart;

    /**
     * 购物车容量（暂时售货机用）
     */
    private Integer shoppingCartCapacity;

    /**
     * 商品展示类型：1、按货道顺序展示商品（同类商品不合并）
     * ，2、按商品排序展示，其实就是按商品合并展示
     */
    private Integer productDisplayType;

    private Integer[] deviceTypeArray;
    /**
     * 是否扣除佣金 1.是
     */
    private Integer isDeductCommission;
    /**
     * 抵扣佣金金额
     */
    private BigDecimal deductCommission;

    private Integer freightLane;

    private Integer hierarchy;
    private Long discountActivityId;

    private String attParams;

    private Boolean isBluetooth;

    private int[] consumeRecordTypeIdArray;

    private Integer commodityProjectId;

    private MemberDto memberDto;

    private String outTradeNo;

    private Integer tabsMenuCurrent;

    /**
     *模糊搜索条件分支
     */
    private Integer comprehensiveConditionId;

    private Long servicePackageId;
}
